1. Field of the Invention
This invention relates to a musical sound generating device used in musical instruments such as a synthesizer, an electronic piano, or an electronic organ. More particularly this invention allows interpolating processing when reading musical sound waveform data from a waveform memory incorporated in the musical sound generating device.
2. Description of the Related Art
In recent years, application of electronics technology in the field of acoustic musical instruments such as a piano or an organ has progressed, and electronic musical instruments such as electronic pianos or electronic organs have been introduced into the market. Also, synthesizers which generate musical sounds with unique tones have been commercialized as an electronic musical instrument. This kind of musical instrument has a musical sound generating device (sound source circuit). A waveform memory which musical stores sound waveforms is incorporated in the musical sound generating device. The waveform memory incorporated in this musical sound generating device stores a plurality of musical sound waveform data corresponding to various tones.
In this kind of musical sound generating device, a musical sound signal is generated by selecting a piece of musical sound waveform data in the waveform memory corresponding to a tone specified by, for instance, a panel switch. The data is read at a speed corresponding to a pitch specified by a key to restore the musical sound waveform. This musical signal is supplied to an acoustic circuit. Then, the acoustic circuit drives, for instance, a speaker and a headphone, in response to the musical sound signal. With this processing, musical sound is produced.
In this type of musical sound generating device, a technique to compress musical sound waveform data and store it in a waveform memory has been employed due to the capacity of the waveform memory used in the device.
For instance, generation of musical waveform data of a musical sound having a tone is performed by separating a musical sound signal of the tone with a specified length (generally a plurality of frequencies) and sampling digitizing the separated musical sound signal at a specified pitch. Generally, separation of the musical sound signal is perform using a width of a specified length starting from the head of the musical sound signal. This is because features of the tone are often included at the onset of the musical sound signal.
Musical sound data thus made is stored in the waveform memory as a digital value, and the musical sound is generated by reading the musical sound data in a specific way.
Namely, to generate a musical sound with a tone, a specified length of a terminating block of musical sound data stored in the waveform memory (with either a plurality of frequency or a single frequency) is defined by a loop-top address LT and a loop-end address LE (both of which are addresses in the waveform memory). At first, the musical sound waveform data is read out from its head. Then, a continuous musical sound waveform is restored by repeatedly reading out musical sound data in an area enclosed by the loop-top address LT and the loop-end address LE, and the musical sound signal is generated.
On the other hand, the pitch of the musical sound can be controlled according to the speed at which the musical sound waveform data is read out from the waveform memory. However, if a system configuration allowing change of a read-out speed according to a pitch is to be implemented, a complicated read-out circuit is required.
For this reason, in actual application, a virtual sampling position (address including a decimal block) corresponding to a read-out speed in a waveform memory space is computed, and if the computed virtual sampling position does not match an actual storing position (integral address) of the musical sound waveform data, the musical sound waveform data corresponding to the sampling position of the virtual sampling position is computed by dividing in proportion a musical sound waveform data stored at addresses before and after the virtual sampling position (this process is called interpolation). The musical sound is restored depending on the computed musical sound data and the musical sound signal is generated.
In a musical sound generating device with a configuration as described above, a circuit to repeatedly read out musical sound waveform data in an area enclosed by a loop-top address LT and a loop-end address LE in a waveform memory performing interpolation is quite complicated, and also since the scale of the circuit becomes larger, the of cost of the musical sound generating device becomes more expensive.